<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

<ui:composition template="/template.xhtml" >
    
    <f:metadata>        
        <!--
        <f:event type="preRenderView" listener="#{facturaBean.iniciarVariables('0100','0100','FC','PR001')}" />         
        -->
    </f:metadata>

    <ui:define name="titulo" >
        - Presupuesto/Cotización
    </ui:define>

    <ui:define name="contenido" >
                        
        <h:form id="formulario" prependId="false">
            
            <p:remoteCommand name="procesarCliente"  process="@this" update="@form" actionListener="#{facturaBean.procesarCliente}" />
            <p:remoteCommand name="procesarProducto" process="@this" update="@form" actionListener="#{facturaBean.procesarProducto}" />
 
            <!-- MENU -->
            <p:menubar id="menuBar">
               <p:menuitem value="Nuevo" icon="blank16" id="btnNew"
                           action="#{facturaBean.nuevoMovimiento}"
                           process="@this"
                           update="@form" />
                <p:menuitem value="Guardar" icon="save16"
                            action="#{facturaBean.guardar(false)}"
                            rendered="#{not facturaBean.m.persistido }"
                            update="@form" />
                <p:menuitem value="Guardar y Nuevo" icon="saveNew16"
                            action="#{facturaBean.guardar(true)}"
                            rendered="#{not facturaBean.m.persistido }"
                            oncomplete="btnNew.click()"
                            update="@form" />
                <p:menuitem value="Imprimir" icon="print16"
                            action="#{facturaBean.imprimir}"
                            rendered="#{facturaBean.m.persistido }"
                            ajax="false" target="blank" >
                </p:menuitem>
            </p:menubar>
            
            <p:sticky target="menuBar" />
            
            <p:messages showDetail="true" />
            
            <p:spacer width="100%" height="1em" />            
            
            <p:panel header="Datos" >               
                <!-- CABECERA -->
                <div class="ui-grid-responsive " >

                    <div class="ui-grid-row" > 
                        <div class="ui-grid-col-12">                            
                            <h:panelGrid columns="6" columnClasses="colLabel10,colDato20,colLabel10,colDato20,colLabel10,colDato20" 
                                         cellspacing="10"
                                         style="width: 100%; border: none;"  >                            

                                <h:outputText value="Formulario" />
                                <h:outputText value="#{facturaBean.m.formulario.descripcion}" />

                                <h:outputText value="Número" />
                                <h:outputText value="#{facturaBean.m.numeroFormulario}" >
                                    <f:convertNumber pattern="00000000" />
                                </h:outputText>

                                <h:outputText value="Fecha" />
                                <h:outputText value="#{facturaBean.m.fechaMovimiento}" >
                                    <f:convertDateTime pattern="dd/MM/yyyy" />
                                </h:outputText>                

                                <h:outputText value="Cliente" />
                                <h:panelGroup layout="block">
                                    <p:commandButton icon="ui-icon-search" oncomplete="PF('dlg_entidad').show()" process="@this" />
                                    <p:inputText value="#{facturaBean.m.cliente.razonSocial}" style="width: 80%;" />                    
                                </h:panelGroup>
                                <h:outputText value="Nombre Fantasía" />
                                <h:outputText value="#{facturaBean.m.cliente.nombreFantasia}" />                                
                                <h:outputText value="Vendedor" />
                                <h:outputText value="#{facturaBean.m.vendedor.descripcion}" />                                                    

                                <h:outputText value="Situación IVA" />
                                <h:outputText value="#{facturaBean.m.condicionDeIva.descripcion}" />                    
                                <h:outputText value="Tipo Documento" />
                                <h:outputText value="#{facturaBean.m.cliente.tipoDocumento.codigo}" />                    
                                <h:outputText value="Nro Documento" />
                                <h:outputText value="#{facturaBean.m.cliente.nrodoc}" />
                                    
                                <h:outputText value="Lista de precios" />
                                <h:outputText value="#{facturaBean.m.listaDePrecio.codigo}" />                    
                                <h:outputText value="Cotización" />
                                <h:outputText value="#{facturaBean.m.cotizacion}" />
                                <h:outputText value="Condición de pago" />
                                <h:outputText value="#{facturaBean.m.condicionDePago.descripcion}" />                    

                            </h:panelGrid>
                        </div>
                    </div>
                </div>                        
            </p:panel>
            
            <p:spacer width="100%" height="1em" />
                        
            <!-- DETALLE -->
            <p:tabView>
                <p:tab title="Items">  
                    
                    <p:dataTable id="detalle" value="#{facturaBean.m.itemsProducto}" var="i" >
                        <p:column headerText="Item" width="5%" >
                            <h:outputText value="#{i.nroitm}" />
                        </p:column>
                        <p:column headerText="Producto" width="45%" >
                            <p:commandButton icon="ui-icon-search" oncomplete="PF('dlg_producto').show()" 
                                             process="@this" 
                                             rendered="#{not i.todoOk and not empty facturaBean.m.listaDePrecio}" />
                            <h:outputText value="#{buscadorProductoBean.producto.descripcion}"  rendered="#{empty i.producto}"/>
                            <h:outputText value="#{i.producto.descripcion}" rendered="#{not empty i.producto}"/>
                        </p:column>
                        <p:column headerText="Cantidad" width="10%" >
                            <p:inputText  value="#{i.cantidad}" rendered="#{not empty i.producto}" style="width: 98%;text-align: right;" >
                                <f:convertNumber pattern="#{i.producto.unidadDeMedida.formato}" />
                                <p:ajax listener="#{facturaBean.calcularImportes}" event="keyup"
                                        update="total,:formulario:totales" />
                                
                            </p:inputText>
                        </p:column>
                        <p:column headerText="U.M." width="5%" style="text-align: center;" >
                            <h:outputText  value="#{i.unidadMedida.codigo}" rendered="#{not empty i.producto}" />                            
                        </p:column>
                        
                        <p:column headerText="Stock" width="5%" style="text-align: center;" >
                            <p:commandButton icon="ui-icon-search"  process="@this" rendered="#{i.todoOk}" />
                        </p:column>
                        
                        <p:column headerText="% Precio"  width="10%" >
                            <p:inputText id="precio"  value="#{i.precio}" rendered="#{not empty i.producto}" style="width: 98%;text-align: right;" >
                                <f:convertNumber pattern="###,###,##0.00" />
                                <p:ajax listener="#{facturaBean.calcularImportes}" event="keyup" 
                                        update="total,:formulario:totales" />
                            </p:inputText>
                        </p:column>
                        <p:column headerText="% Bonif." width="10%" style="text-align: right;" >
                            <p:inputText  value="#{i.porcentajeBonificacion1}" rendered="#{not empty i.producto}" style="width: 98%;text-align: right;" >
                                <f:convertNumber pattern="###,###,##0.00" />
                                <p:ajax listener="#{facturaBean.calcularImportes}" event="keyup" 
                                        update="total,:formulario:totales" />
                            </p:inputText>                            
                        </p:column>
                        <p:column headerText="Total" width="10%" style="text-align: right;" >
                            <h:outputText id="total" value="#{i.totalLinea}" >
                                <f:convertNumber pattern="###,###,##0.00" />
                            </h:outputText>
                        </p:column>
                        
                        <p:column headerText="Acción" width="5%" style="text-align: center;" >
                            
                            <p:commandButton icon="ui-icon-plus" process="detalle" update="@form"
                                             actionListener="#{facturaBean.agregarItem(i)}" 
                                             rendered="#{not i.todoOk}" />
                            
                            <p:commandButton icon="ui-icon-close" process="detalle" update="@form"
                                             actionListener="#{facturaBean.eliminarItem(i)}" 
                                             rendered="#{i.todoOk}" />
                        </p:column>
                        
                    </p:dataTable>
                    
                </p:tab>
                             
                <p:tab title="Dirección de entrega">
                    
                </p:tab>
                
            </p:tabView>
            
            <p:spacer width="100%" height="1em" />
            
            <p:panel id="totales" header="Importes">
                
                <div class="ui-grid-responsive " >                
                    <div class="ui-grid-row" style="font-size: 1.2em; padding: 1em;" >     
                        <div class="ui-grid-col-2">
                            <h:outputText value="Subtotal:   " />
                            <h:outputText value="#{facturaBean.m.impBruto}" styleClass="textoImporte" >    
                                <f:convertNumber pattern="$ ###,###,##0.00" />
                            </h:outputText>
                        </div>
                        <div class="ui-grid-col-2">
                            <h:outputText value="IVA 21 %:   " />
                            <h:outputText value="#{facturaBean.m.impIva2100}" styleClass="textoImporte" >  
                                <f:convertNumber pattern="$ ###,###,##0.00" />
                            </h:outputText>
                        </div>
                        <div class="ui-grid-col-2">
                            <h:outputText value="IVA 10.5%:   " />                            
                            <h:outputText value="#{facturaBean.m.impIva1050}" styleClass="textoImporte" >  
                                <f:convertNumber pattern=" $ ###,###,##0.00" />
                            </h:outputText>
                        </div>
                        <div class="ui-grid-col-2">
                            <h:outputText value="Percepciones:   " />
                            <h:outputText value="#{0}" styleClass="textoImporte" >  
                                <f:convertNumber pattern="$ ###,###,##0.00" />
                            </h:outputText>
                        </div>
                        <div class="ui-grid-col-2"></div>
                        
                        <div class="ui-grid-col-2">
                            <h:outputText value="Total:   " />
                            <h:outputText value="#{facturaBean.m.importeTotal}" styleClass="textoImporte"  >  
                                <f:convertNumber pattern="$ ###,###,##0.00" />
                            </h:outputText>
                        </div>
                    </div>
                </div>
                
            </p:panel>
            
            
        </h:form>
        
    </ui:define>
    
    <ui:define name="dialogos" >
        <ui:include src="/entidad/buscadorEntidad.xhtml" />
        <ui:include src="/inventario/buscadorProducto.xhtml" />        
    </ui:define>

</ui:composition>
</html>

